#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/wait.h>

/*----execl----*/
//int main()
//{
//  if(fork() == 0)
//  {
//    printf("execl begin!\n");
//    execl("/usr/bin/ls", "ls", "-a", "-l", "-n", NULL);
//    printf("execl end!\n");
//    exit(1);
//  }
//  // parents
//  waitpid(-1,NULL,0);
//  printf("wait child sucess\n");
//  return 0;
//}

/*----execle----*/
//int main()
//{
//  if(fork() == 0)
//  {
//    char* env[] = {
//      "MYENV = hello",
//      "HOME = CQ",
//      "NAME = sherry",
//      NULL
//    };
//    printf("execle begin!\n");
//    execle("./myload", "myload", NULL, env);
//    printf("execvp end!\n");
//    exit(1);
//  }
//  // parents
//  waitpid(-1,NULL,0);
//  printf("wait child sucess\n");
//  return 0;
//}

/*----execlp----*/
//int main()
//{
//  if(fork() == 0)
//  {
//    printf("execlp begin!\n");
//    execlp("ls", "ls", "-a", "-l", "-n", NULL);
//    printf("execlp end!\n");
//    exit(1);
//  }
//  // parents
//  waitpid(-1,NULL,0);
//  printf("wait child sucess\n");
//  return 0;
//}

/*----execv----*/
//int main()
//{
//  if(fork() == 0)
//  {
//    char* argv[] = {"ls", "-a", "-l", "-n", NULL};
//    printf("execv begin!\n");
//    execv("/usr/bin/ls", argv);
//    printf("execv end!\n");
//    exit(1);
//  }
//  // parents
//  waitpid(-1,NULL,0);
//  printf("wait child sucess\n");
//  return 0;
//}

/*----execve----*/
//int main()
//{
//  if(fork() == 0)
//  {
//    char* env[] = {
//      "MYENV = hello",
//      "HOME = CQ",
//      "NAME = sherry",
//      NULL
//    };
//    char* argv[] = {"myload", NULL};
//    printf("execve begin!\n");
//    execve("./myload", argv, env);
//    printf("execve end!\n");
//    exit(1);
//  }
//  // parents
//  waitpid(-1,NULL,0);
//  printf("wait child sucess\n");
//  return 0;
//}

/*----execvp----*/
//int main()
//{
//  if(fork() == 0)
//  {
//    char* argv[] = {"ls", "-a", "-l", "-n", NULL};
//    printf("execvp begin!\n");
//    execvp("ls", argv);
//    printf("execvp end!\n");
//    exit(1);
//  }
//  // parents
//  waitpid(-1,NULL,0);
//  printf("wait child sucess\n");
//  return 0;
//}

